package cn.zyq.charging.order.pojo.param;


import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.FieldDefaults;
import javax.validation.constraints.NotNull;

/**
 * 前端页面给后端代码提交数据用Param
 */
@Data
@FieldDefaults(level = lombok.AccessLevel.PRIVATE)
public class OrderAddParam {
    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id",required = true)
    @NotNull(message = "用户编号不能为空")
    private Integer userId;
    //@NotBlank//一般用于验证字符串不能为空// 非法数据：  ""    "  "   null
    //@NotEmpty//一般用于字符串CharSequence  和 容器(List, Set , Map等)
    //@NotNull//一般用于验证基本类型数据(包装类型)

    /**
     * 订单创建时间(服务端生成的)
     */
    //private String createTime;

    //注意： App不绑定车辆也可以充电，所以车辆id不是必须的

    /**
     * 充电桩编号id
     * 开始充电的指令是推动给充电桩的
     */
    @ApiModelProperty(value = "充电桩编号id",required = true)
    @NotNull(message = "充电桩编号不能为空")
    private Integer pileId;

    /**
     * 充电枪编号
     */
    @ApiModelProperty(value = "充电枪编号",required = true)
    @NotNull(message = "充电枪编号不能为空")
    private Integer gunId;


    //可以给项目配置一个快速失败的配置类，实现一个参数校验未通过，其他参数就不做校验
    //具体的配置类： charging.order.config.ValidationConfiguration

}
